Computer architecture
CPU
- The central processing unit (CPU) (also known as a microprocessor or processor) is central to all modern computer systems (including tablets and smartphones). The CPU is very often installed as an integrated circuit on a single microchip.
- The CPU consists of:
- control unit (CU)
- arithmetic and logic unit (ALU)
- registers and buses
Von Neumann architecture
In the mid-1940s, John von Neumann developed the concept of the ‘stored program computer’, main features:
- the concept of a central processing unit (CPU or processor)
- the CPU was able to access the memory directly
- computer memories could store programs as well as data
- stored programs were made up of instructions which could be executed in sequential order.
Components of the central processing unit (CPU)
- The Arithmetic & Logic Unit (ALU) allows the required arithmetic (e.g. +, - and shifting) or logic (e.g. AND, OR) operations to be carried out
- The Control unit(CU) tell the other components in the computer what to do. It ensures synchronisation of data flow. A system clock is used to produce timing signals on the control bus to ensure this vital synchronisation takes place.
- The RAM holds all the data and programs needed to be accessed by the CPU. The RAM is often referred to as the Immediate Access Store (IAS). The CPU takes data and programs held in backing store (e.g. a hard disk drive) and puts them into RAM temporarily.
Registers
One of the most fundamental components of the von Neumann system are the registers. A temporary component in the CPU which can be general or specific in its use; it holds data or instructions.
Register | Abbreviation | Function/purpose of register |
---|---|---|
current instruction register | CIR | this register stores the current instruction being decoded and executed |
accumulator | ACC | this register is used when carrying out ALU calculations; it stores data temporarily during the calculations |
memory address register | MAR | this register stores the address of the memory location currently being read from or written to |
memory data register | MDR | this register stores data which has just been read from memory or data which is about to be writtento memory |
program counter | PC | this register stores the address where the next instruction to be read can be found |
System buses and memory
System buses are used in computers as a parallel transmission component; each wire in the bus transmits one bit of data.
There are three common buses used in the Von Neumann architecture known as:
- address bus
- data bus
- control bus
Type Description of bus Direction Address bus Carries signals relating to addresses Unidirectional Databus Carries data between devices Bi-directional Control bus Carries signals relating to the control
Fetch–Decode–Execute cycle
- To carry out a set of instructions, the CPU first of all fetches some data and instructions from memory, each instruction needs to be decoded before finally being executed.
- This is all known as the Fetch–Decode–Execute cycle.
In its simplest form:
MAR ← [PC] contents of PC copied into MAR
[PC] ← [PC] + 1 PC is incremented by 1
MDR ← [[MAR]] data stored at address shown in MAR is copied into MDR
CIR ← [MDR] contents of MDR copied into CIR
Cores, cache and internal clock
- The first thing to consider is the role of the system clock.
- The clock defines the clock cycle that synchronises all computer operations.
- By increasing clock speed, the processing speed of the computer is also increased, Other factors need to be considered:
- The width of the address bus and data bus
- Overclocking is a factor to consider. The clock speed can be changed by accessing the BIOS (Basic Input/Output System) and altering the settings
- The use of cache memories can also improve CPU performance.
- The use of a different number of cores can improve computer performance.
Instruction set
- In a computer system, instructions are a set of operations which are decoded in sequence.
- Each operation will instruct the ALU and CU (which are part of the CPU).
- An operation is made up of an opcode and an operand.
opcode
- The opcode informs the CPU what operation needs to be done
operand
The operand is the data which needs to be acted on or it can refer to a register in the memory
Since the computer needs to understand the operation to be carried out, there is actually a limited number of opcodes that can be used; this is known as the instruction set.
Embedded systems
- An embedded system is a combination of hardware and software which is designed to carry out a specific set of functions.
- The hardware is electronic, electrical or electro-mechanical.
- Embedded systems can be based on:
- microcontrollers
- microprocessor
- system on chips (SoC)
Benefits | Drawbacks |
---|---|
they are small in size and therefore easy tofit into devices | it can be difficult to upgrade some devices totake advantage of new technology |
compared to other systems, they arerelatively low cost to makethey are usually dedicated to one taskallowing simple interfaces and often norequirement for an operating system | troubleshooting faults in the device becomes a specialist task |
they consume very little power | although the interface can appear to be moresimple (e.g. a single knob) in reality it can be more confusing e.g. changing the time on acooker clock can require several steps! |
they can be controlled remotely using amobile phone, for example | any device that can be accessed over the internet is also open to hackers, viruses, etc |
very fast reaction to changing input (operatein real time and are feedback orientated) | due to the difficulty in upgrading and faultfinding, devices are often just thrown awayrather than being repaired (very wasteful) |
with mass production comes reliability | can lead to an increase in the 'throw away society if devices are discarded just because they have become out-of-date |
Examples of the use of embedded systems
- Motor vehicles
- Set-top box
- Lighting systems
- Vending systems
- Washing machines